package com.bjsxt.shop.goods.service;

import java.util.List;
import java.util.Map;

import com.alibaba.fastjson.JSONObject;
import com.bjsxt.shop.common.util.PageInfoUtil;
import com.bjsxt.shop.goods.pojo.AGoods;
import com.bjsxt.shop.goods.pojo.AGoodsBrand;
import com.bjsxt.shop.goods.pojo.AGoodsCate;

/**
 * 商品的接口
 * 
 * @author wangshSxt
 *
 */
public interface IGoodsService
{
	/*---- 品牌操作开始 ----*/
	
	//保存一个品牌
	JSONObject saveOneGoodsBrandService(AGoodsBrand goodsBrand);
	
	// 保存一条品牌,goodsBrand:保存的对象,paramsMap:上传文件所需要的条件	
	JSONObject saveOneGoodsBrandService(AGoodsBrand goodsBrand,Map<String, Object> paramsMap);
	
	//更新一个品牌
	JSONObject updateOneGoodsBrandService(AGoodsBrand goodsBrand);
	
	//更新一个品牌
	JSONObject updateOneGoodsBrandService(AGoodsBrand goodsBrand, Map<String, Object> paramsMap);
	
	//删除一个品牌
	JSONObject deleteOneGoodsBrandService(AGoodsBrand goodsBrand);
	
	//查询一条品牌,condMap:查询条件,return 返回品牌	 
	AGoodsBrand findOneGoodsBrandService(Map<String, Object> condMap);
	
	//查询多条品牌,pageInfoUtil:分页对象:如果为null,不分页,如果不为空,分页,condMap	查询条件,return 返回多条记录
	Map<String, Object> findCondListGoodsBrandService(PageInfoUtil pageInfoUtil,Map<String, Object> condMap);
	
	/*---- 品牌操作结束 ----*/
	
	
	/*---- 商品分类操作开始 ----*/
	
	//保存一条商品分类
	JSONObject saveOneGoodsCateService(AGoodsCate goodsCate);
	
	//更新一条商品分类
	JSONObject updateOneGoodsCateService(AGoodsCate goodsCate);
	
	//删除一条商品分类
	JSONObject deleteOneGoodsCateService(AGoodsCate goodsCate);
	
	//查询一条商品分类
	AGoodsCate findOneGoodsCateService(Map<String, Object> condMap);
	
	//查询多条商品分类
	Map<String, Object> findCondListGoodsCateService(PageInfoUtil pageInfoUtil,Map<String, Object> condMap);
	
	//查询树形结构的平板结构
	List<AGoodsCate> findTreeListCateService();
	
	/*---- 商品分类操作结束 ----*/
	
	/*---- 商品操作开始 ----*/
	
	//保存一条商品
	JSONObject saveOneGoodsService(AGoods goods);
	
	// 保存一条商品,goodsBrand:保存的对象,paramsMap:上传文件所需要的条件	
	JSONObject saveOneGoodsService(AGoods goods,Map<String, Object> paramsMap);
	
	//更新一条商品
	JSONObject updateOneGoodsService(AGoods goods);
	
	//删除一条商品
	JSONObject deleteOneGoodsService(AGoods goods);
	
	//查询一条商品：condMap--查询条件
	AGoods findOneGoodsService(Map<String, Object> condMap);
	
	//查询多条商品,pageInfoUtil:分页对象:如果为null,不分页,如果不为空,分页,condMap	查询条件,return 返回多条记录
	Map<String, Object> findCondListGoodsService(PageInfoUtil pageInfoUtil,Map<String, Object> condMap);
	/*---- 商品操作结束 ----*/
}
